// pages/gpdetail/gpdetail.js

Page({
  data: {
    stockCode: 'sz301278', // 股票代码
    stockName: '', // 股票名称
    open: '', // 开盘价
    high: '', // 最高价
    low: '', // 最低价
    close: '', // 收盘价
    turnoverRate: '', // 换手率
    volume: '', // 成交量
    amount: '', // 成交额
    currentPrice: '', // 当前价格
    bidPrice: [], // 买价
    bidVolume: [], // 买量
    askPrice: [], // 卖价
    askVolume: [], // 卖量
    // 添加其他数据字段
    minuteChartUrl: '', // 分时图URL
    dayKChartUrl: '', // 日K线图URL
    weekKChartUrl: '', // 周K线图URL
    monthKChartUrl: '', // 月K线图URL
    currentTab: 0,
    list: [{
      name: '分时'
    },
    {
      name: '日k'
    },
    {
      name: '周k'
    },
    {
      name: '月k'
    },
  ],
  },

  onLoad: function () {
    // 获取个股当日行情
    this.getDailyData();
  },
  // 获取个股当日行情
  getDailyData: function () {
    var that = this;
    wx.request({
      url: 'https://hq.sinajs.cn/list=' + this.data.stockCode,
      success: res => {
        const dataStr = res.data;
        console.log('获取个股当日行情成功：', dataStr);
        if (dataStr) {
          // 使用正则表达式提取数据
          const elements = dataStr.split(',');
          const stockName = elements[0].split('"')[1]; // 股票名称
          const open = elements[1]; // 开盘价
          const high = elements[4]; // 最高价
          const low = elements[5]; // 最低价
          const close = elements[3]; // 收盘价
          const turnoverRate = ''; // 换手率（接口中未提供）
          const volume = (elements[8] / 1000000); // 成交量（单位：万手）
          const amount = (elements[9] / 100000000); // 成交额（单位：亿元）
          const currentPrice = elements[3]; // 当前价格
          const bidPrice =[
            parseFloat(elements[11]).toFixed(2),
            parseFloat(elements[13]).toFixed(2),
            parseFloat(elements[15]).toFixed(2),
            parseFloat(elements[17]).toFixed(2),
            parseFloat(elements[19]).toFixed(2)
          ]; // 买价保留两位小数
          const bidVolume = [
            (elements[10] / 1000000).toFixed(1),
            (elements[12] / 1000000).toFixed(1),
            (elements[14] / 1000000).toFixed(1),
            (elements[16] / 1000000).toFixed(1),
            (elements[18] / 1000000).toFixed(1)
          ]; // 买量保留一位小数
          const askPrice = [
            parseFloat(elements[21]).toFixed(2),
            parseFloat(elements[23]).toFixed(2),
            parseFloat(elements[25]).toFixed(2),
            parseFloat(elements[27]).toFixed(2),
            parseFloat(elements[29]).toFixed(2)
          ]; // 卖价保留两位小数
          const askVolume = [
            (elements[20] / 1000000).toFixed(1),
            (elements[22] / 1000000).toFixed(1),
            (elements[24] / 1000000).toFixed(1),
            (elements[26] / 1000000).toFixed(1),
            (elements[28] / 1000000).toFixed(1)
          ]; // 买量保留一位小数
          // 格式化成交量和成交额，并保留一位小数
          const volumeFormatted = (volume).toFixed(1) + '万';
          const amountFormatted = (amount).toFixed(1) + '亿';

          // 更新页面数据
          that.setData({
            stockName,
            open,
            high,
            low,
            close,
            turnoverRate,
            volumeFormatted,
            amountFormatted,
            currentPrice,
            bidPrice,
            bidVolume,
            askPrice,
            askVolume,
            // 在获取数据成功后调用加载图表方法
          }, () => {
            that.loadCharts();
            // 设置页面标题为“股票名称（股票代码）”的格式
          const pageTitle = stockName + '（' + that.data.stockCode + '）';
            wx.setNavigationBarTitle({
              title:pageTitle
            });
          });
        }
      },
      fail: err => {
        console.error('获取个股当日行情失败：', err);
      }
    });
  },
  // 加载图表
loadCharts: function () {
  console.log("loadCharts 函数被调用了"); 
  const stockCode = this.data.stockCode; // 股票代码包含市场信息前缀
  // 设置图表URL
  this.setData({
    minuteChartUrl: `https://image.sinajs.cn/newchart/min/n/${stockCode}.gif`, // 分时图
    dayKChartUrl: `https://image.sinajs.cn/newchart/daily/n/${stockCode}.gif`, // 日K线图
    weekKChartUrl: `https://image.sinajs.cn/newchart/weekly/n/${stockCode}.gif`, // 周K线图
    monthKChartUrl: `https://image.sinajs.cn/newchart/monthly/n/${stockCode}.gif`, // 月K线图
  });
},
// 点击切换
switchNav: function(e) {
  var that = this;
  if (this.data.currentTab == e.currentTarget.dataset.index) {
    return false;
  } else {
    that.setData({
      currentTab: e.currentTarget.dataset.index
    });
  }
},
// 滑动切换
bindChange: function(e) {
  // console.log(e)
  var that = this;
  that.setData({
    currentTab: e.detail.current
  });
},
  //分享
  onShareAppMessage: function (res) {
    return {
      title:'分享给好友',
      path: '/pages/show/show',
      success: function (res) {
        console.log('成功', res)
      }
    }
  },
  
})
